//  
//  主要思路，在小程序端调用云函数的时候 传当前选中的两张卡 的 type（即下标）到云函数端
  //    然后用where获取数据库里用户的数据，把选中的卡，的number都减一，然后再update进数据库

const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()

  const db=cloud.database();
  const you = db.collection('collectYou');


  let res= await you.where({
    '_openid': wxContext.OPENID
  }).get()            //查询获取数据
  let words=res.data[0].words;// 用户数据
  let prize=res.data[0].prize;// 获奖情况，未获奖 方可合成

  if(prize ==1){
    return {
      tip:"你已经获得奖励",
      success:false
    }
  }

  let rand=Math.random();
  switch(true){
    case(rand<=0.09):
        prize=1;
        break;
    case (rand > 0.09 && rand <=0.4):
      prize =2;
      break;
    case (rand >0.4):
      prize = 0;
      break;
   
  }

  // 选中的卡 数量减一
  const chooseTwo=event.chooseTwo;
  const type1 = chooseTwo[0];//传过来的下标
  const type2 = chooseTwo[1];//......       ,只要拿到下标就行，顺序无关
    words[type1].number--;  //对应的卡减一
    words[type2].number--;  //.....

  let update= await you.where({
    '_openid':wxContext.OPENID
  }).update({
    data:{
      words:words,
      prize:prize
    }
  })

  return {
    update:update,
    words:words,
    prize:prize,
    success:true
  }
}

